// 入口函数
$(function() {
    // 需求1:点击a链接,显示隐藏
    $('#loginBox a').click(function() {
            // 点击的登录框内部a链接
            // 显示的注册区域,隐藏登录区域
            // $('#loginBox').hide().sibiling().show()
            $('#loginBox').hide()
            $('#regBox').show()
        })
        // 需求2:点击a链接,显示隐藏
    $('#regBox a').click(function() {
        // 点击的登录框内部a链接
        // $('#regBox').hide().sibiling().show()

        // 显示的登录区域,隐藏注册区域
        $('#loginBox').show()
        $('#regBox').hide()
    })

    //需求3: 定义校验规则
    let form = layui.form
        // 定义校验规则,使用的是 form.verify 方法
    form.verify({
        // 属性是校验名称,值是校验规则
        // 值有两种类型:函数和数组
        username: [/^[a-zA-z0-9]{1,10}$/,
            '用户名必须十位数字和字母'
        ],
        password: [/^[a-zA-Z0-9]{6,15}$/,
            '密码必须6到12位字母或数字'
        ],
        // 确认密码规则
        repassword: function(value) {
            // value就是你给哪个标签添加这个校验规则
            // 这个标签的值就赋值给value
            let password = $('#regBox input[name=password]').val()
                // 判断如果两次密码不一样返回错误信息
            if (password !== value) {
                return '两次密码输入不一致'
            }
        }


    })


    // 需求4注册功能
    let layer = layui.layer
    $('#formReg').on('submit', function(ev) {
        // 阻止表单默认提交        
        ev.preventDefault()
            // 发送axios
        axios({
            method: 'POST',
            url: '/api/reguser',
            // 不要传递对象类型,因为对象类型头信息设置的是application/json
            //cocntent-type:application/json,目前接口文档不支持
            data: $('#formReg').serialize()

        }).then(res => {
            console.log(res.data);
            // 如果不成功 判断返回数据是否正确
            if (res.data.status !== 0) {
                return layer.msg(res.data.message)
            }
            // 成功后提示
            layer.msg('恭喜您,注册成功')
                // 调用点击事件 切换登录模块
            $('#regBox a').click()
                // 清空表单 DOM元素中,有一个reset()可以重置表单
            $('#formReg')[0].reset()

        })
    })

    // 需求5登录功能
    $('#formLogin').submit(function(ev) {
        // 组织表单默认提交
        ev.preventDefault()
        axios({
            method: 'POST',
            url: '/api/login ',
            data: $('#formLogin').serialize()
        }).then(function(res) {
            // 判断返回数据是否正确
            if (res.data.status !== 0) {
                return layer.msg(res.data.message)
            }
            // 正确
            layer.msg('恭喜您,登录成功')
                // 成功提示存储token
            localStorage.setItem('token', res.data.token)
                // location.href = '/index.html'
            location.href = '/index.html'
        })
    })

})